export default class RoleVO  { 
  orgName!:string;
  orgFullName!:string;
  roleId!:string;
  roleName!:string;
  roleLevel!:number;
  orgId!:string;
  sysId!:string;
  status!:EnumStruct<RoleEnum_Status>;
  addUser!:string;
  addTime!:string;
  updUser!:string;
  updTime!:string;


  /**通过JSONObject创建实例对象 */
  public static getInstanceByJSONObj(jsonObj:any):RoleVO{  
    let instance=new RoleVO()  
    return Object.assign(instance, jsonObj) 
  }


  /** 通过属性参数创建实例对象 */
  public static getInstanceByParam(orgName:string,orgFullName:string
                                   ,roleId:string,roleName:string
                                   ,roleLevel:number,orgId:string
                                   ,sysId:string,status:EnumStruct<RoleEnum_Status>
                                   ,addUser:string,addTime:string
                                   ,updUser:string,updTime:string){ 
    let instance=new RoleVO()  
    instance.orgName=orgName;
    instance.orgFullName=orgFullName;
    instance.roleId=roleId;
    instance.roleName=roleName;
    instance.roleLevel=roleLevel;
    instance.orgId=orgId;
    instance.sysId=sysId;
    instance.status=status;
    instance.addUser=addUser;
    instance.addTime=addTime;
    instance.updUser=updUser;
    instance.updTime=updTime;
    return instance 
  }


  /** 类属性的申明静态变量(适用于直接用到Class.fieldName的场景) */
   static fieldNames={
       orgName:"orgName",
      orgFullName:"orgFullName",
      roleId:"roleId",
      roleName:"roleName",
      roleLevel:"roleLevel",
      orgId:"orgId",
      sysId:"sysId",
      status:{code:"status.code",value:"status.value",this:"status"},
      addUser:"addUser",
      addTime:"addTime",
      updUser:"updUser",
      updTime:"updTime" } 
}

